이 름 : 바다아이
|
조회수 : 11480
짧은 주소 : https://www.bada-ie.com/su/?541591800820
여기서는 문자열 값의 조사 및 조작을 위한 함수와 연산자에 대해 설명합니다.여기서 문자열은 character 데이터 형식, character varying 데이터 형식 및 text 데이터 형식의 값을 포함합니다.보충 설명이 없는 한, 다음에 들어있는 모든 함수는 이러한 모든 데이터 형식에 대해 사용할 수 있지만 character 데이터 형식을 사용하면 자동으로 공백이 패드된다는 잠재적인 작용이 있으므로 주의하십시오.이진 문자열 데이터 형식에 원래부터 존재하는 몇 가지 함수도 있습니다.
SQL에서는 인수의 구분에 쉼표가 아닌 키워드를 사용하는 문자열 함수 몇가지들을 정의하고 있습니다.자세한 내용은 표 9-5 를 참조하십시오.또한 PostgreSQL은, 이들 함수에 대한 일반 함수 호출 구문을 사용하는 버전을 제공합니다 ( 표 9-6 을 참조하십시오).
Note :PostgreSQL 8.3 이전에서, 이들 함수는 일부의 비문자열 데이터 형식의 값을 경고없이 받아들인 것은, 그들 데이터 형식을 암시적으로 text로 변환했기 때문입니다.이 강제사항은 수시로 예기치 않은 동작의 원인이 되었기 때문에 삭제되었습니다.그러나 문자열 연결 연산자 (||)는 여전히 표 9-5 에 표시된 것처럼, 적어도 하나의 입력이 문자열이면 비문자열 입력을 받아들입니다.그렇지 않고, 이전과 같은 동작을 기대한다면, text로 하는 명시적인 강제사항을 삽입하십시오.
표 9-5. SQL 문자열 함수와 연산자
함수
반환 값 형식
설명
例 예제
結果 결과
string || string
text
문자열 결합
'Post' || 'greSQL'
PostgreSQL
문자열 || 비 문자열 또는 비 문자열 || 문자열
text
하나가 비문자열인 입력 문자열 결합
'Value: ' || 42
Value: 42
bit_length( string )
int
문자열의 비트수
bit_length('jose')
32
char_length( string ) 또는 character_length( string )
int
문자열의 문자 수
char_length('jose')
4
lower( string )
text
문자열을 소문자로 변환
lower('TOM')
tom
octet_length( string )
int
문자열의 바이트 수
octet_length('jose')
4
overlay( string placing string from int [ for int ])
text
부분 문자열 대체
overlay('Txxxxas' placing 'hom' from 2 for 4)
Thomas
position( substring in string )
int
지정된 부분 문자열의 위치
position('om' in 'Thomas')
3
substring( string [ from int ] [ for int ])
text
부분 문자열 추출
substring('Thomas' from 2 for 3)
hom
substring( string from pattern )
text
POSIX 정규식에 일치하는 하위 문자열을 추출합니다.패턴 일치에 대해 더 자세한 내용은 섹션 9.7 을 참조하십시오.
substring('Thomas' from '...$')
mas
substring( string from pattern for escape )
text
SQL 정규 표현에 일치하는 부분 문자열을 검색합니다.패턴 일치에 대해 더 자세한 내용은 섹션 9.7 을 참조하십시오.
substring('Thomas' from '%#"o_a#"_' for '#')
oma
trim([ leading | trailing | both ] [ characters ] from string )
text
characters (기본적으로 공백)으로 지정된 문자만 포함하여 가장 긴 문자열을, string의 시작, 끝, 그리고 그 모두 제거합니다.
trim(both 'x' from 'xTomxx')
Tom
upper( string )
text
문자열을 대문자로 변환
upper('tom')
TOM
이밖에 표 9-6 에 열거하는 문자열 조작 함수를 사용할 수 있습니다.그 일부는 표 9-5 에 나열된 표준 SQL 문자열 함수를 구현하기 위해 내부적으로 사용됩니다.
표 9-6. 기타 문자열 함수
함수
반환 값 형식
설명
예제
결과
ascii( string )
int
인수의 첫 문자의 ASCII 코드.UTF8 대해서는 문자의 Unicode 코드 포인트를 반환합니다.기타 멀티 바이트 encode 방식의 경우, 인수는 ASCII 문자로하지 않으면 안됩니다.
ascii('x')
120
btrim( stringtext [ , characterstext ])
text
characters (기본값은 공백 문자)로 지정된 문자만 있는 긴 문자열을 string의 시작과 끝에서 제거합니다.
btrim('xyxtrimyyx', 'xy')
trim
chr( int )
text
주어진 코드의 문자. UTF8에서는 인수는 Unicode 코드 포인트로 처리됩니다.기타 멀티 바이트 인코딩 방식으로 인수는 ASCII 문자이어야합니다.NULL (0) 문자는 텍스트 데이터 형식이 그런 바이트를 저장할 수 없기 때문에 허용되지 않습니다.
문자열을 dest_encoding으로 변환합니다.원래 encode 방식은 src_encoding으로 지정됩니다.string은 이 encode 방식으로 유효해야합니다.변환은 CREATE CONVERSION에서 정의됩니다.유효한 변환에 대해서는 표 9-7 을 참조하십시오.
convert('text_in_utf8', 'UTF8', 'LATIN1')
Latin-1(ISO 8859-1)encode 방식의text_in_utf8
convert_from( stringbytea , src_encodingname )
text
데이터베이스의 encode 방식으로 문자열을 변환합니다.원래 encode 방식은 src_encoding으로 지정됩니다.string은 이 encode 방식으로 유효해야합니다.
convert_from('text_in_utf8', 'UTF8')
현재 데이터베이스 encode 방식의text_in_utf8
convert_to( stringtext , dest_encodingname )
bytea
문자열을 dest_encoding으로 변환합니다.
convert_to('some text', 'UTF8')
UTF8 인코딩 방식의 some text
decode( stringtext , typetext )
bytea
이전에 encode() 으로 부호화된 string에서 이진 데이터를 해독합니다. 매개 변수 형식은 encode() 와 동일합니다.
decode('MTIzAAE=', 'base64')
123\000\001
encode( databytea , typetext )
text
이진 데이터를 다른 표현 방식으로 encode합니다.지원되는 형식은 base64, hex, escape입니다.escape는 단순히 null 바이트를 \000과 같이 출력하고, backslash를 이중화합니다.
encode(E'123\\000\\001', 'base64')
MTIzAAE=
initcap( string )
text
각 단어의 첫 글자를 대문자로 나머지는 소문자로 둡니다.여기 단어는 영숫자 이외의 문자로 구분된 영숫자 문자 시퀀스입니다.
initcap('hi THOMAS')
Hi Thomas
length( string )
int
string의 문자 수
length('jose')
4
length( stringbytea , encodingname )
int
주어진 encoding에서 string의 문자 수.string이 encode 방식으로 유효해야합니다.
length('jose', 'UTF8')
4
lpad( stringtext , lengthint [ , filltext ])
text
문자 fill (기본값은 공백)을 문자열 앞에 추가하여 string을 length 길이와 맞춥니다.string이 이미 length 길이를 초과하는 경우 (오른쪽이) 잘립니다.
lpad('hi', 5, 'xy')
xyxhi
ltrim( stringtext [ , characterstext ])
text
string의 처음부터, characters (기본값은 공백)로 지정된 문자만을 가장 긴 문자열에서 삭제합니다.
ltrim('zzzytrim', 'xyz')
trim
md5( string )
text
string의 MD5 해시를 계산하여 16 진수로 결과를 반환합니다.
md5('abc')
900150983cd24fb0 d6963f7d28e17f72
pg_client_encoding()
name
현재 클라이언트의 encode 방식의 이름입니다.
pg_client_encoding()
SQL_ASCII
quote_ident( stringtext )
text
주어진 문자열을 SQL 쿼리 문자열 식별자로 사용할 수 있도록 적절한 인용 부호를 붙여 반환합니다.인용부는 필요한 경우 (예를 들어, 문자열에 식별자로 사용할 수 없는 문자가 포함된 경우 또는 대문자 변환되는 경우)에만 추가됩니다.포함된 인용부가 올바르게 이중화됩니다.예 39-1 을 참조하십시오.
quote_ident('Foo bar')
"Foo bar"
quote_literal( stringtext )
text
与えられた文字列を、 SQL問い合わせ文字列で文字リテラルとして使用できるように、適切な引用符を付けて返します。 주어진 문자열을 SQL 쿼리 문자열에서 문자 리터럴로 사용할 수 있도록 적절한 인용 부호를 붙여 반환합니다.埋め込まれた単一引用符およびバックスラッシュは、適切に二重化されます。 포함된 작은 따옴표와 백슬래시는 적절하게 이중화됩니다.quote_literalはNULL入力に対してNULLを返すことに注意してください。quote_literal 은 NULL 입력에 NULL를 돌려주는 것에주의하십시오.引数がNULLとなる可能性がある場合、よりquote_nullableの方がしばしば適しています。 인수가 NULL이 될 가능성이있는 경우 더 quote_nullable 더 자주 적합합니다.例39-1も参照してください。예 39-1 을 참조하십시오.
quote_literal('O\'Reilly')
'O''Reilly'
quote_literal( valueanyelement )
text
与えられた値をテキストに強制し、そしてリテラルとして引用符付けします。 주어진 값을 텍스트로 강제하고 리터럴로 인용 부호합니다.組み込まれた一重引用符と逆スラッシュは適切に二重化されます。 포함된 작은 따옴표 반대 슬래시 제대로 이중화됩니다.
quote_literal(42.5)
'42.5'
quote_nullable( stringtext )
text
주어진 문자열을 SQL 쿼리 문자열에서 문자 리터럴로 사용할 수 있도록 적절한 인용 부호를 붙여 반환합니다.또한 인수가 NULL인 경우, NULL을 반환합니다.포함된 작은 따옴표와 백슬래시는 적절히 이중화됩니다.예 39-1 을 참조하십시오.
quote_nullable(NULL)
NULL
quote_nullable( valueanyelement )
text
주어진 값을 텍스트로 강제하고, 리터럴로서 인용 부호를 더합니다.그렇지 않고, 인수가 NULL인 경우는 NULL을 반환합니다.포함된 작은 따옴표와 백슬래시는 적절히 이중화됩니다.
주의 : a. 변환 이름은 표준 이름 지정 스키마에 따릅니다.원본 encode 방식의 공식 이름에 영숫자 이외의 문자를 밑줄로 대체 후에 _to_ 를 붙이고, 대상 encode 방식 이름을 같이 처리한 것을 붙인 것입니다.따라서 이러한 명칭은 평범한 코드 이름과 다를 수 있습니다.
Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천 실행시간 : 0.67122 초 to webmaster... gogo sea. gogo sea.